import Vue from 'vue'
import App from './App'
import router from './router'

import Vuex from 'vuex'
import store from './store'

import { Fetch } from './utils/http_common'
import { util } from './utils/util'
import filter from './utils/filters'
import directives from './utils/directives'

import ElementUI from 'element-ui'
import '../theme/index.css'
import 'normalize.css'
import './styles/app.scss'


Vue.config.productionTip = false

Vue.prototype.$http = Fetch
Vue.prototype.$util = util
Vue.prototype.$current_user = store.getters.current_user

Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

Object.keys(filter).forEach((key, index, arr) => {
  Vue.filter(key, filter[key])
})

Vue.directive('vImg', directives.vImg)

Vue.use(ElementUI)
Vue.use(Vuex)

/* eslint-disable no-new */
new Vue({
  el: '#app',
  store,
  router,
  render: h => h(App)
})
